use std::sync::OnceLock as 單次鎖;

use crate::{對照表, 漢字對照表配置參數, 讀取對照表, 轉換};

static 簡繁對照表: 單次鎖<對照表> = 單次鎖::new();

static 漢字對照表: &str = concat!(env!("CARGO_MANIFEST_DIR"), "/data/s2tchars.tsv");
static 詞組對照表: &str = concat!(env!("CARGO_MANIFEST_DIR"), "/data/s2tphrases.tsv");

pub fn 簡繁轉換(簡體: &str) -> String {
    let 對照表 =
        簡繁對照表.get_or_init(|| 讀取對照表(漢字對照表, 詞組對照表, 漢字對照表配置參數).unwrap());
    轉換(簡體, 對照表).replace('麪', "麵")
}
